The present disclosure relates to an information processing apparatus, an information processing method, and a program and, more particularly, to an information processing apparatus, an information processing method, and a program that are suitable in using CG (Computer Graphics) animation for video materials (clips) of television programs for example.
The frame rate of television broadcasting video is set to a predetermined value by broadcasting standards (30 frames/second for example). Consequently, many video materials for use in programs have the same frame rate. Each of these video materials is given, for the information indicative of a temporal position, a time code with a frame used as the minimum unit (refer to Japanese Patent Laid-open No. Hei 4-245088, for example).
Devices for editing these video materials use a time code for the specification of a temporal position and a section of each video material.
Each time code is noted as HH:MM:SS:FF indicative of HH hours, MM minutes, SS seconds, and FF frames. For example, if a frame rate is 30 frames/second, then FF is an integer of 0 to 29. It should be noted however that, if a video terminal is based on interlace, the value FF is substantially in units of 0.5 in order to make discrimination between odd-number field and even-number field.
This holds true the case where related-art CG animation is used for video materials; time code HH:MM:SS:FF is given to each frame of a moving image based on CG produced and rendered with a frame rate of 30 frames/second in advance.
It should be noted that the recent increase in the processing speeds of computers for producing CG animation allows so-called realtime rendering in which CG animation is rendered for use as broadcasting materials without producing the CG animation for use as broadcasting materials in advance.
Further, the recent increase in the processing speeds allows the progression (play) of CG animation based on realtime rendering at variable speeds, at speeds higher than 1× speed (1.5× speed, 2× speed, or 3× speed, for example), or at lower speeds than 1× speed (½× speed, ¼× speed, or 1/10× speed, for example).
Referring to FIG. 1, there is shown a schematic diagram illustrating realtime rendering of CG animation.
As shown in the figure, in realtime rendering a CG animation of 20 seconds from start time 01:00:00:00 to end time 01:00:20:00, data for describing contents of a CG virtual space is prepared only for the frame of key frame points. In the example shown in FIG. 1, time codes 01:00:00:00, 01:00:09:00, and 01:00:20:00 are key frame points, respectively. For the frames other than the frames of key frame points, data is interpolated on the basis of the key frames. The creation of the data for interpolated frames can cope with not only the object movement within a CG virtual space but also the enlargement and reduction of an object.
Referring to FIG. 2, there is shown timings with which a second frame is displayed when a CG animation is made progress at various speeds. These timings may also be regarded as a display intervals between frames.
The timing with which the second frame is displayed is indicated by time code 01:00:00:01 if the frame rate is 30 frames/second at 1× speed and timeline time 01:00:00.033 if indicated by a timeline time with values below an integer permitted for units of seconds (in the figure, the timeline time is expressed by a fraction 1/30). At 2× speed, the timing is indicated by time code 01:00:00:02 and timeline time 01:00:00.067 if indicated by a timeline time with values below an integer permitted for units of seconds (in the figure, the timeline time is expressed by a fraction 2/30).
In the case of ½× speed, time code 01:00:00:0.5 is given, which is expressed by timeline time as 01:00:00.017 (in the figure, the timeline time is expressed by a fraction 1/60). In the case of ¼× speed, time code 01:00:00:0.25 is given, which is expressed by timeline time as 01:00:00.008 (in the figure, the timeline time is expressed by a fraction 1/120). Therefore, it is seen that, if the CG animation is made progress at ¼× speed, the value of the frame of time code is in units of 0.25 and the value of timeline time is in units of 1/120.
To be more specific, at ¼× speed, the second frame is generated by the interpolation corresponding to timeline time 01:00:00.008 and the third frame is generated by the interpolation corresponding to timeline time 01:00:00.17.
It should be noted however that the time code changes depending on the frame rate, so that, for one of data formats of CG animation, a timeline time with the value below integer permitted for second that is the minimum unit is employed in order to maintain the universality compatible with any frame rates.